package com.jsbs.iam.ident.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.jsbs.iam.common.core.annotation.Excel;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * @ClassName: IamAccountBase
 * @Author: zhouxiangyang
 * @Date: 2022年12月14日17:40:13
 * @Description: 账户信息表
 */

@Data
public class IamAccountBaseVo implements Serializable {

  private static final long serialVersionUID = -3116634385011576651L;

  /**
   * 主键
   */
  private Long id;

  /**
   * 账号ID
   */
  @Excel(name = "账号ID",sort =1,type = Excel.Type.EXPORT )
  private String accountId;

  /**
   * 用户id(唯一标识，格式：0000000001递增)
   */
  private String userCode;

  /**
   * 员工编号(用户编码，格式：iam000001递增)
   */
  @Excel(name = "用户编码",sort =2,type = Excel.Type.EXPORT)
  private String employeeCode;

  /**
   * 组织类型编码
   */
  @Excel(name = "组织类型编码",sort =3,type = Excel.Type.IMPORT)
  private String orgTypeCode;

  /**
   * 姓名
   */
  @Excel(name = "姓名",sort =4)
  private String name;

  /**
   * 密码
   */
  private String password;

  /**
   * 性别：0:女；1:男
   */
  private Integer gender;

  /**
   * 电话
   */
  @Excel(name = "手机号",sort =5)
  private String phone;

  /**
   * 邮箱
   */
  @Excel(name = "邮箱",sort =6,type = Excel.Type.EXPORT)
  private String email;

  /**
   * 状态,0:无效,1:有效
   */
  private Integer status;

  /**
   * 归属租户编码
   */
  private String companyeCode;

  /**
   * 创建人
   */
  private String createPerson;

  /**
   * 创建时间
   */
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
  private LocalDateTime createTime;

  /**
   * 更新人
   */
  private String updatePerson;

  /**
   * 最后更新时间
   */
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
  private LocalDateTime updateTime;

  /**
   * 账户状态：0：禁用账号；1：启用账号
   */
  @Excel(name = "状态",readConverterExp = "0=禁用,1=启用",sort =7)
  private Integer accountStatus;

  /**
   * 创建账户方式：0手动；1自动
   */
  @Excel(name = "方式",readConverterExp = "0=手动,1=自动",sort =8,type = Excel.Type.EXPORT)
  private Integer mode;

}
